Strategies for Predicate-Aware Register Allocation

نویسنده

  • Gerolf Hoflehner
چکیده

For predicated code a number of predicate analysis systems have been developed like PHG, PQA or PAS. In optimizing compilers for (fully) predicated architectures like the Itanium® 2 processor, the primary application for such systems is global register allocation. This paper classifies predicated live ranges into four types, develops strategies based on classical dataflow analysis to allocate register candidates for all classes efficiently, and shows that the simplest strategy can achieve the performance potential provided by a PQSbased implementation. The gain achieved in the Intel® production compiler for the CINT2006 integer benchmarks is up to 37.6% and 4.48% in the geomean.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Fine Grained Register Allocation for EPIC Processors With Predication

In this paper, we study the impact of liveness granularity, the priority function and accurate interference graph construction on register allocation performance on EPIC processors with predication. Fine grained live ranges reduce the number of interferences and hence allow both faster compilation and runtime execution. Similarly, a predicate-aware priority function gives a better register allo...

متن کامل

Register allocation in hyper-block for EPIC processors

A hyper-block represents a linear sequence of predicated instructions with a single entry and multiple exit points. To exploit the high level of Instruction Level Parallelism(ILP) in EPIC architectures, hyper-blocks are often used as the unit of program presentation. In this paper, we study the impact of predication and the hyper-block representation in the register allocation phases. Our contr...

متن کامل

Register Allocation Aware Instruction Selection

In existing optimization frameworks, compiler passes are not tightly integrated and often work at cross purposes. In this report we describe an integration framework for the key backend compiler optimizations of register allocation and instruction selection: Register Allocation Aware Instruction Selection (RAISE). We discover that the fundamental building block of the RAISE framework, register ...

متن کامل

Towards Global Scheduling and Register Allocation Using Predicated Execution

This paper presents an approach for register allocation and scheduling which relies on three main ideas: global optimization, solution space exploration and on-the-fly generation of a symbolic state machine. To allow global optimizations while preserving semantics, the traditional notion of control dependence is replaced by the notion of predicate. In our approach, predicates are used not only ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010